"""
改变对象的字符串显示

问题：
    你想改变对象实例的打印或显示输出，让它们更具可读性。
解决方案：
    要改变一个实例的字符串表示，可重新定义它的 __str__() 和 __repr__() 方法。
"""


class Stock:
    def __init__(self, code, price):
        self.code = code
        self.price = price

    def __repr__(self):
        return "Stock({0.code!r}, {0.price!r})".format(self)

    def __str__(self):
        return "({0.code!s}, {0.price!s})".format(self)


def use_stock():
    stock = Stock("GOOG", 1054.7)
    print(stock)
    # 输出结果：
    """
    (GOOG, 1054.7)
    """


if __name__ == '__main__':
    use_stock()
